package com.qf.ssm.service;

import com.qf.ssm.entity.promotion.BuildSekill;
import com.qf.ssm.entity.promotion.FormData;
import com.qf.ssm.entity.promotion.SSData;
import com.qf.ssm.entity.promotion.SpecialShow;

import java.util.Date;
import java.util.List;

public interface PromotionService {
    /**
     *
     * @param saName
     * @param saStartTime
     * @param saEndTime
     * @return
     */
    List<SpecialShow> queryBysaName(String saName, String saStartTime, String saEndTime);

    /**
     * 构建活动
     * @param specialShow
     * @return
     */
    int addActivitys(SSData specialShow);

    int editActivity(int ssId,int saState);

    /**
     * 更改活动状态
     * @param id
     * @param state
     * @return
     */
    int updateState(Integer id, Integer state);

    /**
     * 修改活动表中一些信息
     * @param id
     * @param saName
     * @param saOrderNumber
     * @param saRealPay
     * @return
     */
    int editActivity(Integer id,String saName,Integer saOrderNumber,Integer saRealPay);

    /**
     * 根据 id 用于查询修改后的表信息
     * @param id
     * @return
     */
    FormData queryActivity(Integer id);

    /**
     * 根据id 修改秒杀模块表的状态信息
     * @param id
     * @param state
     * @return
     */
    int updateSekillState(Integer id,Integer state);

    /**
     * 根据id 修改秒杀模块表的信息
     * @param id
     * @param saName
     * @param saOrderNumber
     * @param saRealPay
     * @return
     */
    int updateSekillActivity(Integer id,String saName,Integer saOrderNumber,Integer saRealPay);

    /**
     * 根据id 查询秒杀模块表中修改的表信息
     * @param id
     * @return
     */
    FormData querySekillActivit(Integer id);

    /**
     * 构建秒杀活动
     * @param buildSekill
     * @return
     */
    int insertSekillActivity(BuildSekill buildSekill);

    /**
     * 秒杀模块 查询模块信息
     * @param saName
     * @param saStartTime
     * @param saEndTime
     * @return
     */
    List<SpecialShow> querySekillActivity(String saName,String saStartTime,String saEndTime);

    /**
     * 组合模块  查询组合模块中的信息
     * @param saName
     * @param saStartTime
     * @param saEndTime
     * @return
     */
    FormData queryGroupActivity(String saName,String saStartTime,String saEndTime);

    /**
     * 修改组合模块中活动状态，开始活动
     * @param ssId
     * @param saState
     * @return
     */
    int editGroupState(Integer ssId,Integer saState);

    /**
     *  删除组合模块中某一活动
     * @param id
     * @return
     */
    int delOneGroup(Integer id);

    /**
     * 修改组合模块中的信息
     * @param formData
     * @return
     */
    int updateGroup(FormData formData);

    /**
     * 组合模块  查询活动修改之后的信息
     * @param ssId
     * @return
     */
    FormData queryGroup(int ssId);

    /**
     * 拼团模块 查询模块信息
     * @param saName
     * @param saStartTime
     * @param saEndTime
     * @return
     */
    SpecialShow queryCombinations(String saName,String saStartTime,String saEndTime);

    /**
     * 拼团模块  修改活动状态
     * @param ssId
     * @param saState
     * @return
     */
    int updateCombineActivity(int ssId,int saState);

    /**
     * 拼团模块  删除功能
     * @param ssId
     * @return
     */
    int delCombineActivity(int ssId);

    /**
     * 拼团活动  修改活动信息
     * @param formData
     * @return
     */
    int editCombine(FormData formData);

    /**
     * 拼团活动  查询修改后活动信息 使用FormData接收
     * @param ssId
     * @return
     */
    FormData queryCombine(int ssId);

    /**
     * 定金模块  修改活动状态
     * @param ssId
     * @param saState
     * @return
     */
    int editAppointSta(int ssId,int saState);

    /**
     * 定金模块  通过名称查询活动信息
     * @param saName
     * @param saStartTime
     * @param saEndTime
     * @return
     */
    SpecialShow queryAppoints(String saName,String saStartTime,String saEndTime);

    /**
     * 定金模块  （伪）删除活动
     * @param ssId
     * @return
     */
    int delAppoint(int ssId);

    /**
     * 定金模块  编辑活动信息
     * @param formData
     * @return
     */
    int editAppoint(FormData formData);

    /**
     * 定金模块  查询修改之后的活动信息
     * @param ssId
     * @return
     */
    FormData queryAppointActivity(int ssId);

}
